The present invention generally relates to determining localization from images of a vicinity, and more particularly to determining a user's location in a pre-mapped environment from images of the user's vicinity.
A camera's three-dimensional position and orientation in an environment may be determined from images captured by the camera (also known as image-based localization), for example, by simultaneous localization and mapping (SLAM) or by comparing key features in the images against a database of key features for the environment.
Bloom filters are probabilistic data structures that can be used to quickly and efficiently determine whether an element is present in a given set of elements. Bloom filters may return false positives, but cannot return false negatives. One or more hash functions may be used to query the Bloom filter. An increased number of hash functions may lower the number of false positives in the set; however, the increased number of hash functions may decrease the speed and efficiency of the Bloom filter.